# -*- mode: bazel; -*-
# vi: set ft=bazel:

#
# rvo/src/main/java/BUILD.bazel
# RVO2 Library Java
#
# SPDX-FileCopyrightText: 2008 University of North Carolina at Chapel Hill
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Please send all bug reports to <geom@cs.unc.edu>.
#
# The authors may be contacted via:
#
# Jur van den Berg, Stephen J. Guy, Jamie Snape, Ming C. Lin, Dinesh Manocha
# Dept. of Computer Science
# 201 S. Columbia St.
# Frederick P. Brooks, Jr. Computer Science Bldg.
# Chapel Hill, N.C. 27599-3175
# United States of America
#
# <https://gamma.cs.unc.edu/RVO2/>
#
load("@google_bazel_common//tools/javadoc:javadoc.bzl", "javadoc_library")
load("@rules_java//java:defs.bzl", "java_library")
load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files")

package(default_applicable_licenses = ["//:license"])

licenses(["notice"])  # Apache-2.0

filegroup(
    name = "srcs",
    srcs = [
        "edu/unc/cs/gamma/rvo/Agent.java",
        "edu/unc/cs/gamma/rvo/KdTree.java",
        "edu/unc/cs/gamma/rvo/Line.java",
        "edu/unc/cs/gamma/rvo/Obstacle.java",
        "edu/unc/cs/gamma/rvo/RVOMath.java",
        "edu/unc/cs/gamma/rvo/Simulator.java",
        "edu/unc/cs/gamma/rvo/package-info.java",
    ],
    visibility = ["//visibility:private"],
)

java_library(
    name = "rvo",
    srcs = [":srcs"],
    visibility = ["//visibility:public"],
    deps = ["@maven//:org_apache_commons_commons_math3"],
)

javadoc_library(
    name = "api",
    srcs = [":srcs"],
    external_javadoc_links = ["https://commons.apache.org/proper/commons-math/javadocs/api-3.6.1/"],
    tags = ["requires-network"],
    visibility = ["//visibility:private"],
    deps = ["@maven//:org_apache_commons_commons_math3"],
)

pkg_files(
    name = "jar",
    srcs = [":rvo"],
    attributes = pkg_attributes(mode = "0644"),
    prefix = "usr/share/java",
    visibility = ["//:__pkg__"],
)
